package Bricklink.ChildDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Cursor; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Dialog; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TabFolder; import org.eclipse.swt.widgets.TabItem; import Window.BackgroundThreadManager; import Exports.CompatiblePartManager; import Exports.UpdateManager; public class MappingDialog extends Dialog { protected Object result; protected Shell shell; private TabFolder tabFolder; /** * Create the dialog. * * @param parent * @param style */ public MappingDialog(Shell parent, int style) { super(parent, style); setText("Mapping Dialog"); } /** * Open the dialog. * * @return the result */ public Object open() { Cursor waitCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_WAIT); getParent().setCursor(waitCursor); createContents(); shell.open(); shell.layout(); Display display = shell.getDisplay(); getParent().setCursor(null); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } return result; } /** * Create contents of the dialog. */ private void createContents() { shell = new Shell(getParent()); shell.setSize(599, 620); shell.setText(getText()); Button btnWriteToMappingFile = new Button(shell, SWT.NONE); btnWriteToMappingFile.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent arg0) { handleApplyToMappingList(); } }); btnWriteToMappingFile.setBounds(158, 543, 235, 45); btnWriteToMappingFile.setText("Write to Mapping File"); tabFolder = new TabFolder(shell, SWT.NONE); tabFolder.setBounds(10, 10, 573, 531); TabItem tbtmNewItem = new TabItem(tabFolder, SWT.NONE); tbtmNewItem.setText("ID Mapping From LDraw"); Composite composite = new IDMappingFromLDrawComposite(tabFolder, SWT.EMBEDDED); tbtmNewItem.setControl(composite); tbtmNewItem = new TabItem(tabFolder, SWT.NONE); tbtmNewItem.setText("ID Mapping From Bricklink"); composite = new IDMappingFromBricklinkComposite(tabFolder, SWT.EMBEDDED); tbtmNewItem.setControl(composite); tbtmNewItem = new TabItem(tabFolder, SWT.NONE); tbtmNewItem.setText("Color Mapping From LDraw"); composite = new ColorMappingFromLDrawComposite(tabFolder, SWT.EMBEDDED); tbtmNewItem.setControl(composite); tbtmNewItem = new TabItem(tabFolder, SWT.NONE); tbtmNewItem.setText("Color Mapping From Bricklink"); composite = new ColorMappingFromBricklinkComposite(tabFolder, SWT.EMBEDDED); tbtmNewItem.setControl(composite); } protected void handleApplyToMappingList() { CompatiblePartManager.getInstance().writeMappingListToFileCache(); BackgroundThreadManager.getInstance().add(new Runnable() { @Override public void run() { UpdateManager.getInstance().uploadIdMappingList(); } }); BackgroundThreadManager.getInstance().add(new Runnable() { @Override public void run() { UpdateManager.getInstance().uploadColorMappingList(); } }); } }